The present invention relates to a method and a device for controlling processes in conjunction with an internal combustion engine having at least two combustion chambers, where control functions are executed by at least one processor, and the program code on which the control functions are based can be stored in at least one memory, and at least one data record is assigned to the program code, the control functions being implemented as a link between the program code and the at least one data record.
In controlling an internal combustion engine, applicable data are stored as a data record for a complete engine. The combustion chambers of the internal combustion engine are structurally integrated into a maximum of two cylinder banks or engine banks which are symmetrical, i.e., the applicable data or the data record is used for both engine banks. If differences between the engine banks occur with the symmetrical engine banks, e.g., due to tolerances in parts, the required accuracy is achieved from the given data record through control circuits or adaptations.
European Published Patent Application No. 348 441 also describes a control device for an internal combustion engine having a computer that contains a first data block for operation in a first operating state and a second data block for operation in another operating state as well as a processor for processing machine operating parameters as a function of data of the first or second data block. The processor includes a switching arrangement responding to at least one operating parameter to select the data blocks used as a function of temperature, in particular the cooling system temperature. When a predetermined temperature is exceeded, the system switches from the first data block, which is programmed for operation under starting conditions, to the second data block, which is programmed for normal operating conditions. The switch between data blocks thus takes place as a function of a temperature with respect to an upper and a lower temperature limit. Thus, the data record is also switched as a function of the starting temperature.
When there is a great asymmetry in the internal combustion engine, there will also be great inaccuracies in the control of processes in conjunction with an internal combustion engine when using a data record with regard to the control functions. These inaccuracies also have effects on torque, exhaust gas and consumption, etc. A temperature-dependent data record switch cannot compensate for these inaccuracies inasmuch as only one data record is available for both engine banks in each temperature range. It has thus been found that the related art is not capable of delivering optimal results in all regards.
Thus, an object is to implement an arrangement for switching applicable data or data records for a specific engine bank in controlling processes in conjunction with an internal combustion engine for taking into account asymmetries in the internal combustion engine or the combustion chambers.
In the case of the methods and the device for controlling processes in conjunction with an internal combustion engine having at least two combustion chambers, control functions are executed by at least one processor, and the program code on which the control functions are based can be stored in at least one memory. At least one data record is assigned to the program code, and the control functions are implemented as the link between the program code and the at least one data record. It is advantageous that the combustion chambers are grouped in at least two engine banks for control purposes, in particular independently of design factors, and one data record is assigned to each engine bank. The respective data record for implementing the control functions is preferably selected independently of the respective engine bank to be controlled. Thus, the data records are advantageously switched as a function of the respective engine bank where asymmetries of the engine banks and/or the combustion chambers can be taken into account. These asymmetries may involve the design, control aspects or function.
In the case of asymmetries in combustion engines or completely asymmetrical combustion engines, correct precontrol data in data records for a specific engine bank is advantageously applied and used accordingly, thus permitting a greater accuracy in the control functions of the internal combustion engine or with respect to the processes in conjunction with the internal combustion engine and also yielding advantages with respect to torque, power, exhaust emissions, consumption, etc.
In concrete terms, these asymmetries include, for example, a difference in timing of the intake and/or exhaust valves, calculation of the differing firing angle, in particular as a function of different engine characteristics maps, different injection times or the use of different engine characteristics maps in camshaft control and a complete combustion chamber cutoff or cylinder cutoff implemented in at least one engine bank. These asymmetries as well as others can thus be controlled advantageously and the corresponding effects can be reduced or suppressed or controlled better.
It is also advantageous that in the case of switching a complete data record, i.e., all the applicable data in conjunction with an engine control, it is not necessary to know which data is needed for a specific engine bank in definition and implementation of the control functions of the internal combustion engine. Instead, it is advantageous that the data can be introduced just before the start of mass production without having any additional effects. This yields major advantages in the development process.
The control functions can thus be implemented in one controller having a plurality of computers or processors just as well as in one controller having just one computer or processor or even several controllers in one or more processors. The program code may thus be provided for each processor or each controller, i.e., per grouped engine bank and/or a program code may be stored centrally for use with multiple engine banks or all engine banks.
In one embodiment, the data records of the at least two engine banks are preferably composed of data subsets, whereby with respect to the at least two engine banks the same and different data subsets are contained in the data records, and the same data subsets are stored only once in the at least one memory, and the respective control functions of the engine banks are implemented with these same data subsets and the respective different data subsets. This saves on memory capacity.
In an advantageous embodiment, the data records and/or data subsets from a first memory are loaded to a second memory which the program code of each engine bank accesses. Since the data records of the at least two engine banks are composed of data subsets, whereby with respect to the at least two engine banks, the same and different data subsets are contained in the data records, and in the first loading of the second memory, the same and different data subsets can be loaded, and with additional loading, only the different data is loaded into the second memory. This advantageously creates a buffer memory for the data, where the contents, i.e., the data records, are refreshed or adapted according to the control functions used and according to the engine bank, and this advantageously takes place more rapidly when only the different data subsets are revised or refreshed instead of the complete data records. The respective different data subsets can thus each be stored, i.e., in duplicate, or the contents of preselectable addresses in the memory containing the different data subset may be adjusted continuously for each engine bank, so that the required memory can be further reduced.
In another advantageous embodiment in the case of the at least two engine banks, the program code can always access a same data record location or address in at least one memory, and then at least the data is present under the data record location or at least the different data subset of the data record location is present separately for each engine bank, i.e., in duplicate.
In another advantageous embodiment, the start of the respective data record is preferably determined for each engine bank first and then this start of the data record is accessed by the program code. The extent of the data record can be preselected by a preselectable distance from the start of the data record, and in the case of a change in the control of processes in conjunction with at least one first engine bank to at least one second engine bank, the data record can also be changed. Thus, the respective data record can be stored as desired in the at least one memory and can be queried under their starting address and a spacing.
In a refinement of the present invention, a single data or the contents of a memory cell can be advantageously loaded through the program code by a preselectable offset. Again, the respective start address of the data record, i.e., the start of the data record is determined first and then the respective data is read and processed as the program runs. This has the advantage that it is not necessary to compile and shift the data itself but instead through a variable preselection of the offset, it is possible to operate on the data having fixed positions inside, for example.